package mmpathgen.core.jtopas;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;

import mmpathgen.callgraphanalysis.CallGraphAnalysis;
import mmpathgen.callgraphanalysis.CallGraphGenByContextCHA;
import mmpathgen.callgraphanalysis.CallGraphGenByContextPTA;
import mmpathgen.callgraphanalysis.FilteredCallGraph;
import mmpathgen.core.MMPathGen;
import mmpathgen.util.JRELibFilter;
import soot.SootMethod;
import soot.jimple.toolkits.annotation.purity.SootMethodFilter;
import soot.jimple.toolkits.callgraph.CallGraph;
import soot.options.Options;

public class TokenizerProperties {

	static {
		soot.options.Options.v().set_keep_line_number(true);
	}

	/**
	 * @param args
	 * @throws FileNotFoundException 
	 */
	public static void main(String[] args) throws FileNotFoundException {

		// get the class names automatically
		File path = new File("/export/home/weihe/MMPath/sutdriver/JTopas");

		// set main application class
		String mainClassName = "de.susebox.jtopas.TestTokenizerProperties";
		
		// package name
		String srcFolder = "jtopas_v3";

//		MMPathGen.mmpathGen_CHA_Filtered_Brief(path, srcFolder, mainClassName);	
		MMPathGen.mmpathGen_PTA_Filtered_Brief(path, srcFolder, mainClassName);

//		System.out.println("total potential MM-Path: " + fcg.getTails().size());

	}
	

	static LinkedList<SootMethod> mmPath = new LinkedList<SootMethod>();
	static Set<LinkedList<SootMethod>> allPaths = new HashSet<LinkedList<SootMethod>>();
	
}